/**
 * @author 20110104 by hzx
 * @class ResetPassForm
 * @extends Ext.form.FormPanel
 * @description 重置密码form
 */
ResetPassForm = Ext.extend(Ext.form.FormPanel, {
			record : "record",
			
			// 构造方法
			constructor : function(_cfg) {
					if (_cfg == null) {
						_cfg = {};
					}
					Ext.apply(this, _cfg);

				// 调用父类的构造方法
				ResetPassForm.superclass.constructor.call(this, {
							layout : "form", // from布局
							labelWidth : 100, // 宽度
							baseCls : "x-plain", // 统一背景色
							bodyStyle : "padding:8px;", // 样式
							defaults : {
								anchor : "95%" // 锚点布局
							},
							items : [{
										xtype : "textfield",
										fieldLabel : "新密码",
										align:"right",
										name : "newPass",
										inputType : "password",
										allowBlank : false
									},{
										xtype : "textfield",
										fieldLabel : "确认密码",
										name : "confirmPass",
										inputType : "password",
										allowBlank : false,
										invalidText : "两次输入的密码不一致", // 验证失败出现的提示
										validator : function() { // 验证
											var _pwd1 = this.ownerCt.items.itemAt(0).getValue(0);
											var _pwd2 = this.getValue();
//											alert("pwd1:"+ _pwd1);
//											alert("pwd2:"+ _pwd2);
											return _pwd2.length <= 32 && _pwd1 == _pwd2;
										}
									},{
										xtype : "hidden",
										name : "uis.userId",
										value : this.record.get("uis.userId")
									}]
						})
			},

			/**
			 * 用户角色表单提交方法
			 * 
			 * @param {}
			 *            _url 提交的url
			 */
			mySubmit : function(_url) {
				this.getForm().submit({
							url : _url,
							waitTitle : "数据传输",
							waitMsg : "数据传输中,请稍等...",
							// 成功回调方法
							success : this.onSuccess,
							// 失败回调方法
							failure : this.onFailure,
							// 作用域
							scope : this

						})
			},

			/**
			 * 请求成功的回调方法
			 * 
			 * @param {}
			 *            _form
			 * @param {}
			 *            _action
			 */
			onSuccess : function(_form, _action) {
				if (_action.result.success == true) {
					// 调用当前组建的父容器的onCloseWinClick()事件
					Ext.Msg.alert("系统消息", "重置成功!");
					this.ownerCt.onCloseWinClick();
					/**
					 * _urgp 是 smsfactory.whitelist.white_list.jsp
					 * 中WhiteListPanel类的实例
					 */
					_urgp.getStore().reload();
				}
			},

			/**
			 * 请求失败的回调方法
			 * 
			 * @param {}
			 *            _form
			 * @param {}
			 *            _action
			 */
			onFailure : function(_form, _action) {
				Ext.Msg.alert("系统消息", _action.result["errorMsg"]);
			},

			/**
			 * 获取form的值
			 * 
			 * @return {}
			 */
			getFormValues : function() {
				return new Ext.data.Record(this.getForm().getValues());
			},

			/**
			 * 给表单设置值
			 * 
			 * @param {}
			 *            _record
			 */
			setFormValues : function(_record) {
				this.getForm().loadRecord(_record);
			},

			/**
			 * 重置表单
			 */
			reset : function() {
				this.getForm().reset();
			}
		});